package br.com.werp.regras.geral.visao.taglib;

import br.com.werp.regras.geral.FabricaSubSistema;
import br.com.werp.regras.geral.GerenciadorErros;
import br.com.werp.regras.geral.Suporte;
import br.com.werp.regras.geral.vos.suporte.EmpresaVO;

import java.io.IOException;

import java.util.Iterator;
import java.util.List;

import javax.servlet.jsp.JspWriter;


/**
 *  Generated tag class.
 */
public class EmpresasTag extends MasterTag {
    /* (non-Javadoc)
     * @see br.com.werp.regras.geral.visao.taglib.MasterTag#otherDoStartTagOperations()
     */
    public void otherDoStartTagOperations() {
        JspWriter out = pageContext.getOut();

        try {
            String empresaID =
                (String) pageContext.getSession().getAttribute("empresaId");
            Suporte suporte = FabricaSubSistema.getSuporte();
            List empresas = suporte.obterEmpresas();

            StringBuffer options = new StringBuffer();

            if (empresaID == null) {
                options.append("<option value=\"0\" >Selecione</option>");
            }

            int selectSize = 0;

            for (Iterator iter = empresas.iterator(); iter.hasNext();) {
                EmpresaVO empresaVO = (EmpresaVO) iter.next();
                String empresaIDBanco = String.valueOf(empresaVO.getEmpr_id());

                if (empresaVO.getEmpr_descricao().length() > selectSize) {
                    selectSize = empresaVO.getEmpr_descricao().length();
                }

                options.append("<option value=\"" + empresaVO.getEmpr_id() +
                    "\" " +
                    (empresaIDBanco.equals(empresaID) ? "selected" : "") + ">");
                options.append(empresaVO.getEmpr_descricao());

                options.append("</option>");
            }
            
            out.println("<SELECT style=\"WIDTH: "+ (selectSize*19)
                    +"px\" name=\"EmpresaCombo\" onChange=\"empresaChange();\">");
                 //   +"px\" name=\"EmpresaCombo\" onChange=\"submeter();\">");

            out.println(options.toString());
            out.println("</select>");
        } catch (Exception e) {
            GerenciadorErros.logarErro(e);
            try {
                out.println("<font color=red>Erro acessando empresas </font>");
            } catch (IOException e1) {
                GerenciadorErros.logarErro(e1);
            }
        }
    }
}
